The present disclosure herein relates to a multi-core system, and more particularly, to a method for measuring power of an embedded system including a graphics processing unit (GPU).
As smart devices are more advanced and widely used, users' needs also increase. Therefore, compared to smart devices developed in the past to execute simple application programs, recently developed high performance and multifunctional smart devices enable 3D game playing, TV viewing, video playback, use of web browsers, social activities, or the like. However, most of such devices are battery-powered embedded systems limited in power. Recently, embedded devices equipped with a heterogeneous multi-core based on a central processing unit (CPU) and a graphics processing unit (GPU) have been developed to satisfy the requirements of high performance and low power consumption.
Embedded software for a heterogeneous multi-core, such as application programs for high performance and low power consumption, may be developed using open computing language (OpenCL) or OpenGL for embedded systems (ES) that is a programming interface. For example, when a 3D game for a smart device is driven, a GPU may be used together with a CPU to distribute calculation loads of the CPU and use a high-speed parallel processing function. Therefore, as a technology of general-purpose computing on graphics processing units (GPGPU) is used in a heterogeneous multi-core environment, a calculation speed may be accelerated through parallel processing while reducing a load on a CPU.
Overall power consumption and CPU power consumption of such devices may be measured or estimated using hardware measuring equipment or a power-modeling-based software tool. However, it is not easy to measure GPU power consumption due to several limitations. For example, there is no equipment for measuring a GPU alone, and a GPU is not used individually. To overcome such limitations, a power sensor may be installed in a GPU so that GPU power consumption may be measured. The GPU power consumption may be measured in real time by virtue of the built-in power sensor. However, since the power sensor itself should be registered by a device driver, the device driver should be repetitively accessed whenever power measurement is performed. Therefore, considerable system overhead may be caused, and analysis on overall power consumption is difficult since only the GPU power consumption is measured.